package com.yuzhi.master.sewage.pipe.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yuzhi.common.core.domain.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.data.annotation.Id;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("drain_pipe")
public class DrainPipe extends BaseEntity {

    private static final long serialVersionUID=1L;

    @TableId(type = IdType.ASSIGN_UUID)
    @Schema(description="id主键")
    private String id;

    @Schema(description = "管道代码")
    private String draiPipeId;

    @Schema(description = "排水系统代码")
    private String sysId;

    @Schema(description = "所在道路名称")
    private String draiPipeNameRoad;

    @Schema(description = "管道等级1-总干管，2-干管，3-支管、4-街坊管，9-其它")
    private Integer draiPipeGrade;

    @Schema(description = "管道的属性1-雨水，2-污水，3-合流")
    private Integer draiPipeType;

    @Schema(description = "起点道路名称")
    private String draiPipeBroadName;

    @Schema(description = "终点道路名称")
    private String draiPipeEroadName;

    @Schema(description = "断面形式：1-圆型、2-蛋型、3-矩形、9-其它")
    private Integer draiPipeStyle;

    @Schema(description = "管道直径1（毫米）")
    private Integer draiPipeD1;

    @Schema(description = "管道直径2（毫米）")
    private Integer draiPipeD2;

    @Schema(description = "管道长度（米）")
    private Integer draiPipeLength;

    @Schema(description = "管道材质，1-砼，2-钢砼，3-砖石，4-塑料，9-其它")
    private Integer draiPipeMaterial;

    @Schema(description = "起点地面标高（米）")
    private BigDecimal draiPipeAltBeg;

    @Schema(description = "终点地面标高（米）")
    private BigDecimal draiPipeAltEnd;

    @Schema(description = "起点管底标高（米）")
    private BigDecimal draiPipePaltBeg;

    @Schema(description = "终点管底标高（米）")
    private BigDecimal draiPipePaltEnd;

    @Schema(description = "检查井数量")
    private Integer draiPipeManholeN;

    @Schema(description = "雨水口数量")
    private Integer draiPipeStormwellN;

    @Schema(description = "设施的状态")
    private Integer draiPipeState;

    @Schema(description = "竣工日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime draiPipeDateFinish;

    @Schema(description = "设计单位")
    private String draiPipeOmDsn;

    @Schema(description = "施工单位")
    private String draiPipeOmBuild;

    @Schema(description = "结构状况")
    private String draiPipeStruc;

    @Schema(description = "水力状况")
    private String draiPipeHydra;

    @Schema(description = "养护单位")
    private String draiPipeOmRep;

    @Schema(description = "维修日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime draiPipeDateRep;

    @Schema(description = "倒虹管位置")
    private String draiPipeInvert;

    @Schema(description = "备注")
    private String draiPipeRemark;

    @Schema(description = "起点经度E")
    private BigDecimal longitude;
    @Schema(description = "起点纬度N")
    private BigDecimal latitude;

    @Schema(description = "终点经度E")
    private BigDecimal longitude2;

    @Schema(description = "终点纬度N")
    private BigDecimal latitude2;

    @Schema(description = "行政区域(对应行政区域drain_districts表)")
    private String areaCode;

    @Schema(description = "起点井的ID（关联drain_manhole表）")
    private String drainManholeStartId;

    @Schema(description = "终点井的ID（关联drain_manhole表）")
    private String drainManholeStopId;

    /**
     * 管道简称
     */
    private String shortName;
}
